As wireless networks become increasingly popular, there is an ever greater need to provide higher data throughput from existing bandwidth allocations. Typically, a wireless network must operate within an assigned band of frequencies. This is usually the case regardless of the type of physical transmission technique utilized. For example, frequency hopping systems usually must only hop to frequencies contained within a fixed range of frequencies. Similarly, spread spectrum systems must remain within the bounds of a well-defined, frequency band. Of course, frequency division multiplexing system, as well, are confined to fixed bandwidths. Thus, a fundamental performance goal in the implementation of wireless networks is to provide as much data throughput as possible given a particular bandwidth allocation. However, a wireless network typically has to utilize some sort of protocol to deal with problems associated with operating within a multi-access channel environment, in which more than one transmitter may transmit in the same channel at a particular time. For example, the well-known “hidden station” problem is associated with the fact that not all nodes in a wireless network are within radio range of one another. Thus, a node wishing to transmit to another node may not be able to detect that the a selected channel is occupied in the vicinity of the other node, such that a packet transmitted to the other node on the selected channel is unlikely to be received successfully by the other node. Another problem may simply be that noise in the channel causes sufficient bit errors for a particular transmission such that the other node cannot properly receive the transmission. Thus, it is usually not possible for the transmitter to know for certain the success of the communication by simply “listening” to the selected channel for its own transmission. The fact that the transmitter may be able to successfully receive its own transmission is no guarantee that the intended receiver will be able to do the same.
FIG. 1 depicts an illustrative wireless network 100. The wireless network 100 includes an access point (AP) 102 and stations (STAs) 104 and 106. Typically, wireless networks may include numerous APs and STAs, but the simplified wireless network 100 is shown in here for illustrative purposes. Each of the three nodes, AP 102, STA 104, and STA 106, must be able to both transmit and receive packets over the wireless medium. Different types of communication may be possible. For example, in one arrangement, all communication may be required to go through AP 102. Thus, if STA 104 wishes to transmit a packet to STA 106, the transmission must first be sent to AP 102, then relayed to STA 106. In another arrangement, STA 104 may communicate directly with STA 106, without involving AP 102. Regardless of the type of communication chosen, a fundamental component is a transmission that involves one node (AP or STA) acting as the transmitter and another node (AP or STA) acting as the receiver of the transmission. As mentioned, the wireless environment is such that the transmitter usually cannot tell, by “listening” for its own transmission, whether the transmission it sends has been properly received by the intended receiver. To deal these and other effects, a multi-access protocol for a wireless network typically must provide techniques that handle situations where transmissions are not properly received. One such technique that has been widely adopted is the use of an acknowledgement packet.
FIG. 2 illustrates a known approach for sending a number of data packets from a transmitter A, each followed by an acknowledgement packet from a receiver B. As shown in the figure, data packet 202 is sent from transmitter A, intended for receiver B. If receiver B properly receives data packet 202, it sends an acknowledgement packet 204 back to transmitter A to acknowledge proper receipt of data packet 202. In this manner, transmitter A is provided with feedback on the success of its transmission and can react accordingly. For example, each receiver that does properly receive a data packet may be required to send an acknowledgement to the sender within a specified amount of time. Thus, transmitter A may be able measure the time elapsed since it sent data packet 202. If transmitter A does not receive an acknowledge packet from receiver B within the specified amount of time receiver B is required to provide such acknowledgement, taking into account propagation and processing delays, transmitter A may be able to conclude that the transmission failed and react appropriately, such as initiate re-transmission of the data packet. As shown in FIG. 2, transmitter A may send another data packet 206 to receiver B, which may then respond with an acknowledgement packet 208. Similarly, transmitter A may send a data packet 210, to which receiver B may respond with an acknowledgement packet 212. Thus, this approach involves the receiver sending an acknowledgement packet for each data packet it receives from the transmitter.
FIG. 3 illustrates a known approach for sending a burst of data packets from a transmitter A, followed by one acknowledgement packet from a receiver B for providing acknowledgement information with regard to all of the data packets in the burst. As shown, transmitter A sends data packets 302 and 304 and an acknowledgement request packet 306. FIG. 3 shows that data packets in the burst are separated by a Short Interframe Spacing (SIFS) defined for the standard physical layer wireless protocol used by transmitter A and receiver B. Within a particular standard physical layer protocol, SIFS may specify the separation needed between a data packet and an acknowledgement packet, as well as the separation needed between consecutive packets sent from a transmitter. Different standard physical layer protocols may define different values for SIFS. For example, if transmitter A and receiver B utilize an 802.11a physical layer protocol, transmitter A and receiver B may be capable of sending and receiving packets separated by a SIFS defined to be 16 μsec. As another example, if transmitter A and receiver B utilize an 802.11b physical layer protocol, transmitter A and receiver B may be capable of transmitting and receiving packets separated by a SIFS defined to be 10 μsec.
Referring back to FIG. 3, receiver B responds to the acknowledgement request packet 306 by sending an acknowledgement packet 308, which provides acknowledgement for both data packets 302 and 304, as to whether each packet has been successfully received. Acknowledgement packet 308 is often referred to as “burst ack” or “group ack” because it provides acknowledgement information for more than one data packet. Generally, acknowledgement packet 308 provides a bit map that utilizes a bit to represent acknowledgement information for each data packet in the burst. Thus, transmitter A may send a burst of many data packets. In response, receiver B would send an acknowledgement that includes a bit map, with each bit indicating either successful or unsuccessful reception of a corresponding data packet in the burst.
While the use of “burst ack” has resulted in improvements to data throughput by reducing the number of acknowledgement packets that must be sent for a burst of data packets, such improvements have approached a fundamental limit. That is, further improvements to data throughput have become exceedingly difficult to achieve given that necessary protocol functions must still be carried out, and data throughput performance of wireless networks for any given allotment of bandwidth appears to have “plateaued.” Yet demand for greater data throughput continues to increase as available bandwidth remains limited. Thus, there is a tremendous need for breaking what seems to be an upper bound for data throughput in wireless networks to achieve even better data throughput performance.